iPad 10.0.2 版本在 WKWebview 出现的键盘问题

在 webview 中打开一个带输入框的弹框,点击输入框,调出键盘后在输入框中进行输入,点击「确定」按钮后,弹框消失后,发现键盘并没有收起,手动将键盘关闭,具体可看截图。

当再次触发其他弹框(如数字框)弹出,其中数字框其实已经是失去焦点的状态,可以看截图,当点击弹框上的数字后,发现键盘会无缘无故调出,需要手动关闭,严重影响体验。

出现这个问题,首先确认下其他 iOS 版本有没有类似问题,验证后发现是没有类似问题的,这时候可以判断这应该是一个版本的兼容问题。想了一会儿出现这个问题的原因,还是没有想到具体的解决方案,于是乎请教 iOS 原生开发人员,得知 iOS 键盘只要输入框有焦点存在,就会调出键盘,但确实数字框并没有焦点的操作,还是把键盘调起了。但前提是要把之前的带输入框的弹框打开,然后重复上述步骤,才会出现这种情况,所以问题的根源应该就是在这。

我想了一种可能导致这个问题的原因,是不是我输入完后,点击了确定按钮后,输入框其实没有失焦,觉得很大可能是这个问题,所以我在「确定」跟「取消」按钮方法里面加了 blur 方法,重新验证,发现问题解决。

较新 iOS 版本不会存在类似的问题,所以为了防止类似的兼容问题,可以在「确定」和「取消」按钮中手动添加 blur 方法。

S90311-1031201

S90311-1031211